#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e9+7;
ll binpow(ll x, int y = 1e9+5){
ll ans = 1;
x %= N;
while(y){
if(y & 1) ans = (ans * x)%N;
x = (x*x)%N;
y /= 2;
}
return ans;
}
void solve(){
ll n,m,a,b,x,y,pop; cin >> n >> m >> a >> b >> x >> y >> pop;
pop = 1ll-(pop*binpow(100))%N;
pop += N; pop%=N;
int i=-1,j=-1;
ll p = 0;
ll p2 = 1;
for(int q = 0; q < (n-1)*(m-1)*4; q++){
if(a+i > n || a+i < 1) i *= -1;
if(b+j > m || b+j < 1) j *= -1;
a += i; b += j;
p=(p+1)%N;
if(a == x || b == y){
p= (p*pop)%N;
p2 = (p2*pop)%N;
}
}
cout << (p*binpow(1-p2+N))%N << '\n';
}
int32_t main(){
ios::sync_with_stdio(0);
cin.tie(0);
int t=1; cin >> t;
while(t--) solve();
}
Bricks Game | Char Sum |
Two Strings | Anagrams |
Prime Number | Lexical Sorting Reloaded |
1514A - Perfectly Imperfect Array | 580A- Kefa and First Steps |
1472B- Fair Division | 996A - Hit the Lottery |
MSNSADM1 Football | MATCHES Playing with Matches |
HRDSEQ Hard Sequence | DRCHEF Doctor Chef |
559. Maximum Depth of N-ary Tree | 821. Shortest Distance to a Character |
1441. Build an Array With Stack Operations | 1356. Sort Integers by The Number of 1 Bits |
922. Sort Array By Parity II | 344. Reverse String |
1047. Remove All Adjacent Duplicates In String | 977. Squares of a Sorted Array |
852. Peak Index in a Mountain Array | 461. Hamming Distance |
1748. Sum of Unique Elements | 897. Increasing Order Search Tree |
905. Sort Array By Parity | 1351. Count Negative Numbers in a Sorted Matrix |
617. Merge Two Binary Trees | 1450. Number of Students Doing Homework at a Given Time |